The present invention relates to a storage device and information management system of the type used to prepare a remote copy of data that is created on a host computer, for example, and is written into the storage device; and, more particularly, the invention relates to a storage device having a so-called snapshot function, which is arranged such that a preferable remote copy is created.
A method has been proposed in which a storage device having a so-called snapshot function saves multiple generations of data on a plurality of storage devices, so that, when a breakdown occurs, the saved data is used to perform data restoration smoothly. (For example, see JP 2003-242011 A.)
However, in the above-mentioned JP 2003-242011 A, there is no description whatsoever about means disclosed by the present invention for effectively utilizing the snapshot function to create a remote copy efficiently as provided by the present invention.
When creating a remote copy in a conventional storage device, for example, a next volume is formed for storing the same data as a storage area (primary volume) of which the remote copy will be made, and then the remote copy is created from the next volume. However, with this method, in the formation of the next volume, it is necessary for the next volume to have the same storage capacity as the primary volume, and thus an extremely massive storage capacity is required.
On the other hand, in a storage device having the so-called snapshot function, when data is read and written to and from the primary volume, the data that was stored there previously is saved into a storage area called a pool area, and the relationship between this saved data and the original primary volume is stored in the memory as a virtual volume. Accordingly, multiple generations of data, that are stored one after the other, can be saved using little storage capacity.
Therefore, in a storage device having this type of snapshot function, when creating a remote copy, the remote copy can be updated based on the virtual volume in the memory. Namely, in the above-mentioned virtual volume, there are descriptions relating to the data that was read and written, and the descriptions are referenced to rewrite the remote copy, whereby the remote copy can be updated.
However, the above-mentioned virtual volume saves indications as to whether or not snapshots exist every 64 KB, for example, which is the unit of data processing by the host computer, along with addresses, so that it is not possible to know which data the snapshot is actually present in. Therefore, in a case where a remote copy is to be made from this virtual volume, it necessary to generate a map showing the presence/absence of the snapshots, however, generating this map requires much time.
In other words, when a storage device having the above-mentioned snapshot function creates a remote copy, the remote copy can be updated based on the virtual volume in the memory; however, in order to do this, it is necessary to create a map showing the presence/absence of the snapshots. Since it takes time to generate this map, it was not possible to create the remote copy in an overall efficient manner.